const TOKEN = "token"

App({
  globalData: {
    token: ""
  },

  /**
   * 当小程序初始化完成时，会触发 onLaunch（全局只触发一次）
   */
  onLaunch: function () {


    // 登录
    // 判断缓存中是否有token
    // const token = wx.getStorageSync(TOKEN)
    // if (token && token.length !== 0) {
    //   // 有 token，验证token是否过期
    //   this.check_token(token)
    // } else {
    //   // 没有token，进行登陆
    //   this.login()
    // }
  },

  // 验证token是否过期
  check_token(token) {
    console.log("验证token");

    wx.request({
      url: 'http://123.207.32.32/auth',
      method: "POST",
      header: {
        token: token
      },
      success:  (res) =>{
        if(!res.data.errCode){
          console.log("token有效");
          
          this.globalData.token = token;
        }else{
          this.login();
        }
        console.log(res);
      }
    })

  },

  // 登陆操作
  login() {
    console.log("登陆操作");

    wx.login({
      // code只有5分钟的有效期
      success: (res) => {
        // 获取code
        const code = res.code
        // 登陆操作
        // 将code发送给服务器
        wx.request({
          url: 'http://123.207.32.32:3000/login',
          method: "post",
          data: {
            code: code
          },
          success: (res) => {
            // 获取 token
            const token = res.data.token
            // 保存 token 至全局变量
            this.globalData.token = token

            // 进行本地存储
            wx.setStorageSync(TOKEN, token)
          }
        })
      }
    })

  },

  /**
   * 当小程序启动，或从后台进入前台显示，会触发 onShow
   */
  onShow: function (options) {

  },

  /**
   * 当小程序从前台进入后台，会触发 onHide
   */
  onHide: function () {

  },

  /**
   * 当小程序发生脚本错误，或者 api 调用失败时，会触发 onError 并带上错误信息
   */
  onError: function (msg) {

  }
})